package cn.lg.soar.mvc.model;

import cn.lg.soar.common.util.data.DataUtil;
import lombok.Getter;
import lombok.Setter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Lazy;

import java.time.Duration;
import java.util.List;

/**
 * @author luguoxiang
 * 开源项目：https://gitee.com/lgx1992/lg-soar 求star！请给我star！请帮我点个star！
 */
@Lazy
@Getter
@Setter
@ConfigurationProperties(value = "lg.mvc.cors")
public class CorsProperties {

    /**
     * 是否启用跨越处理
     */
    private Boolean enabled = false;

    /**
     * 允许跨越的接口
     */
    private List<String> mappings = DataUtil.arrayToList("/**");

    /**
     * 允许跨越的域名
     */
    private List<String> origins = DataUtil.arrayToList("*");

    /**
     * 允许跨越的请求头
     */
    private List<String> headers = DataUtil.arrayToList("*");

    /**
     * 允许跨越的请求方式
     */
    private List<String> methods = DataUtil.arrayToList("*");

    /**
     * 跨越寿命
     */
    private Duration age = Duration.ofHours(1);

}
